<?xml version="1.0"?>
<doc>
    <assembly>
        <name>System.ComponentModel.DataAnnotations</name>
    </assembly>
    <members>
        <member name="T:System.ComponentModel.DataAnnotations.AssociationAttribute">
            <summary>
            Used to mark an Entity member as an association
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.AssociationAttribute.#ctor(System.String,System.String,System.String)">
            <summary>
            Full form of constructor
            </summary>
            <param name="name">The name of the association. For bi-directional associations, the name must
            be the same on both sides of the association</param>
            <param name="thisKey">Comma separated list of the property names of the key values
            on this side of the association</param>
            <param name="otherKey">Comma separated list of the property names of the key values
            on the other side of the association</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.AssociationAttribute.GetKeyMembers(System.String)">
            <summary>
            Parses the comma delimited key specified
            </summary>
            <param name="key">The key to parse</param>
            <returns>Array of individual key members</returns>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.AssociationAttribute.Name">
            <summary>
            Gets the name of the association. For bi-directional associations, the name must
            be the same on both sides of the association
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.AssociationAttribute.ThisKey">
            <summary>
            Gets a comma separated list of the property names of the key values
            on this side of the association
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.AssociationAttribute.OtherKey">
            <summary>
            Gets a comma separated list of the property names of the key values
            on the other side of the association
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.AssociationAttribute.IsForeignKey">
            <summary>
            Gets or sets a value indicating whether this association member represents the foreign key
            side of an association
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.AssociationAttribute.ThisKeyMembers">
            <summary>
            Gets the collection of individual key members specified in the ThisKey string.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.AssociationAttribute.OtherKeyMembers">
            <summary>
            Gets the collection of individual key members specified in the OtherKey string.
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.ConcurrencyCheckAttribute">
            <summary>
            This attribute is used to mark the members of a Type that participate in
            optimistic concurrency checks.
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.CustomValidationAttribute">
            <summary>
            Validation attribute that executes a user-supplied method at runtime, using one of these signatures:
            <para>
            public static <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/> Method(object value) { ... }
            </para>
            <para>
            public static <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/> Method(object value, <see cref="T:System.ComponentModel.DataAnnotations.ValidationContext"/> context) { ... }
            </para>
            <para>
            The value can be strongly typed as type conversion will be attempted.
            </para>
            </summary>
            <remarks>
            This validation attribute is used to invoke custom logic to perform validation at runtime.
            Like any other <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>, its <see cref="M:System.ComponentModel.DataAnnotations.CustomValidationAttribute.IsValid(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)"/>
            method is invoked to perform validation.  This implementation simply redirects that call to the method
            identified by <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.Method"/> on a type identified by <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.ValidatorType"/>
            <para>
            The supplied <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.ValidatorType"/> cannot be null, and it must be a public type.
            </para>
            <para>
            The named <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.Method"/> must be public, static, return <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/> and take at
            least one input parameter for the value to be validated.  This value parameter may be strongly typed.
            Type conversion will be attempted if clients pass in a value of a different type.
            </para>
            <para>
            The <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.Method"/> may also declare an additional parameter of type <see cref="T:System.ComponentModel.DataAnnotations.ValidationContext"/>.
            The <see cref="T:System.ComponentModel.DataAnnotations.ValidationContext"/> parameter provides additional context the method may use to determine
            the context in which it is being used.
            </para>
            <para>
            If the method returns <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/>.<see cref="F:System.ComponentModel.DataAnnotations.ValidationResult.Success"/>, that indicates the given value is acceptable and validation passed.
            Returning an instance of <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/> indicates that the value is not acceptable
            and validation failed.
            </para>
            <para>
            If the method returns a <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/> with a <c>null</c> <see cref="P:System.ComponentModel.DataAnnotations.ValidationResult.ErrorMessage"/>
            then the normal <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.FormatErrorMessage(System.String)"/> method will be called to compose the error message.
            </para>
            </remarks>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.ValidationAttribute">
            <summary>
            Base class for all validation attributes.
            <para>Override <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)"/> to implement validation logic.</para>
            </summary>
            <remarks>
            The properties <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageResourceType"/> and <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageResourceName"/> are used to provide
            a localized error message, but they cannot be set if <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessage"/> is also used to provide a non-localized
            error message.
            </remarks>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttribute.#ctor">
            <summary>
            Default constructor for any validation attribute.
            </summary>
            <remarks>This constructor chooses a very generic validation error message.
            Developers subclassing ValidationAttribute should use other constructors
            or supply a better message.
            </remarks>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttribute.#ctor(System.String)">
            <summary>
            Constructor that accepts a fixed validation error message.
            </summary>
            <param name="errorMessage">A non-localized error message to use in <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageString"/>.</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttribute.#ctor(System.Func{System.String})">
            <summary>
            Allows for providing a resource accessor function that will be used by the <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageString"/>
            property to retrieve the error message.  An example would be to have something like
            CustomAttribute() : base( () =&gt; MyResources.MyErrorMessage ) {}.
            </summary>
            <param name="errorMessageAccessor">The <see cref="T:System.Func`1"/> that will return an error message.</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttribute.SetupResourceAccessor">
            <summary>
            Validates the configuration of this attribute and sets up the appropriate error string accessor.
            This method bypasses all verification once the ResourceAccessor has been set.
            </summary>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is malformed.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttribute.FormatErrorMessage(System.String)">
            <summary>
            Formats the error message to present to the user.
            </summary>
            <remarks>The error message will be re-evaluated every time this function is called. 
            It applies the <paramref name="name"/> (for example, the name of a field) to the formated error message, resulting 
            in something like "The field 'name' has an incorrect value".
            <para>
            Derived classes can override this method to customize how errors are generated.
            </para>
            <para>
            The base class implementation will use <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageString"/> to obtain a localized
            error message from properties within the current attribute.  If those have not been set, a generic
            error message will be provided.
            </para>
            </remarks>
            <param name="name">The user-visible name to include in the formatted message.</param>
            <returns>The localized string describing the validation error</returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is malformed.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object)">
            <summary>
            Gets the value indicating whether or not the specified <paramref name="value"/> is valid
            with respect to the current validation attribute.
            <para>
            Derived classes should not override this method as it is only available for backwards compatibility.
            Instead, implement <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)"/>.
            </para>
            </summary>
            <remarks>
            The preferred public entry point for clients requesting validation is the <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.GetValidationResult(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)"/> method.
            </remarks>
            <param name="value">The value to validate</param>
            <returns><c>true</c> if the <paramref name="value"/> is acceptable, <c>false</c> if it is not acceptable</returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is malformed.</exception>
            <exception cref="T:System.NotImplementedException"> is thrown when neither overload of IsValid has been implemented
            by a derived class.
            </exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)">
            <summary>
            Protected virtual method to override and implement validation logic.
            <para>
            Derived classes should override this method instead of <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object)"/>, which is deprecated.
            </para>
            </summary>
            <param name="value">The value to validate.</param>
            <param name="validationContext">A <see cref="T:System.ComponentModel.DataAnnotations.ValidationContext"/> instance that provides
            context about the validation operation, such as the object and member being validated.</param>
            <returns>
            When validation is valid, <see cref="F:System.ComponentModel.DataAnnotations.ValidationResult.Success"/>.
            <para>
            When validation is invalid, an instance of <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/>.
            </para>
            </returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is malformed.</exception>
            <exception cref="T:System.NotImplementedException"> is thrown when <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)"/>
            has not been implemented by a derived class.
            </exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttribute.GetValidationResult(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)">
            <summary>
            Tests whether the given <paramref name="value"/> is valid with respect to the current
            validation attribute without throwing a <see cref="T:System.ComponentModel.DataAnnotations.ValidationException"/>
            </summary>
            <remarks>
            If this method returns <see cref="F:System.ComponentModel.DataAnnotations.ValidationResult.Success"/>, then validation was successful, otherwise
            an instance of <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/> will be returned with a guaranteed non-null
            <see cref="P:System.ComponentModel.DataAnnotations.ValidationResult.ErrorMessage"/>.
            </remarks>
            <param name="value">The value to validate</param>
            <param name="validationContext">A <see cref="T:System.ComponentModel.DataAnnotations.ValidationContext"/> instance that provides
            context about the validation operation, such as the object and member being validated.</param>
            <returns>
            When validation is valid, <see cref="F:System.ComponentModel.DataAnnotations.ValidationResult.Success"/>.
            <para>
            When validation is invalid, an instance of <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/>.
            </para>
            </returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is malformed.</exception>
            <exception cref="T:System.ArgumentNullException">When <paramref name="validationContext"/> is null.</exception>
            <exception cref="T:System.NotImplementedException"> is thrown when <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)"/>
            has not been implemented by a derived class.
            </exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttribute.Validate(System.Object,System.String)">
            <summary>
            Validates the specified <paramref name="value"/> and throws <see cref="T:System.ComponentModel.DataAnnotations.ValidationException"/> if it is not.
            <para>
            The overloaded <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.Validate(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)"/> is the recommended entry point as it
            can provide additional context to the <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/> being validated.
            </para>
            </summary>
            <remarks>This base method invokes the <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object)"/> method to determine whether or not the
            <paramref name="value"/> is acceptable.  If <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object)"/> returns <c>false</c>, this base
            method will invoke the <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.FormatErrorMessage(System.String)"/> to obtain a localized message describing
            the problem, and it will throw a <see cref="T:System.ComponentModel.DataAnnotations.ValidationException"/>
            </remarks>
            <param name="value">The value to validate</param>
            <param name="name">The string to be included in the validation error message if <paramref name="value"/> is not valid</param>
            <exception cref="T:System.ComponentModel.DataAnnotations.ValidationException"> is thrown if <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object)"/> returns <c>false</c>.
            </exception>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is malformed.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttribute.Validate(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)">
            <summary>
            Validates the specified <paramref name="value"/> and throws <see cref="T:System.ComponentModel.DataAnnotations.ValidationException"/> if it is not.
            </summary>
            <remarks>This method invokes the <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)"/> method 
            to determine whether or not the <paramref name="value"/> is acceptable given the <paramref name="validationContext"/>.
            If that method doesn't return <see cref="F:System.ComponentModel.DataAnnotations.ValidationResult.Success"/>, this base method will throw
            a <see cref="T:System.ComponentModel.DataAnnotations.ValidationException"/> containing the <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/> describing the problem.
            </remarks>
            <param name="value">The value to validate</param>
            <param name="validationContext">Additional context that may be used for validation.  It cannot be null.</param>
            <exception cref="T:System.ComponentModel.DataAnnotations.ValidationException"> is thrown if <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)"/> 
            doesn't return <see cref="F:System.ComponentModel.DataAnnotations.ValidationResult.Success"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is malformed.</exception>
            <exception cref="T:System.NotImplementedException"> is thrown when <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)"/>
            has not been implemented by a derived class.
            </exception>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageString">
            <summary>
            Gets the localized error message string, coming either from <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessage"/>, or from evaluating the 
            <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageResourceType"/> and <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageResourceName"/> pair.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationAttribute.CustomErrorMessageSet">
            <summary>
            A flag indicating whether a developer has customized the attribute's error message by setting any one of 
            ErrorMessage, ErrorMessageResourceName, or ErrorMessageResourceType.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessage">
            <summary>
            Gets or sets and explicit error message string.
            </summary>
            <value>
            This property is intended to be used for non-localizable error messages.  Use
            <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageResourceType"/> and <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageResourceName"/> for localizable error messages.
            </value>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageResourceName">
            <summary>
            Gets or sets the resource name (property name) to use as the key for lookups on the resource type.
            </summary>
            <value>
            Use this property to set the name of the property within <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageResourceType"/>
            that will provide a localized error message.  Use <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessage"/> for non-localized error messages.
            </value>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageResourceType">
            <summary>
            Gets or sets the resource type to use for error message lookups.
            </summary>
            <value>
            Use this property only in conjunction with <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageResourceName"/>.  They are
            used together to retrieve localized error messages at runtime.
            <para>Use <see cref="P:System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessage"/> instead of this pair if error messages are not localized.
            </para>
            </value>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.CustomValidationAttribute.#ctor(System.Type,System.String)">
            <summary>
            Instantiates a custom validation attribute that will invoke a method in the
            specified type.
            </summary>
            <remarks>An invalid <paramref name="validatorType"/> or <paramref name="Method"/> will be cause
            <see cref="M:System.ComponentModel.DataAnnotations.CustomValidationAttribute.IsValid(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)"/>&gt; to return a <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/>
            and <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.FormatErrorMessage(System.String)"/> to return a summary error message.
            </remarks>
            <param name="validatorType">The type that will contain the method to invoke.  It cannot be null.  See <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.Method"/>.</param>
            <param name="method">The name of the method to invoke in <paramref name="validatorType"/>.</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.CustomValidationAttribute.IsValid(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)">
            <summary>
            Override of validation method.  See <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)"/>.
            </summary>
            <param name="value">The value to validate.</param>
            <param name="validationContext">A <see cref="T:System.ComponentModel.DataAnnotations.ValidationContext"/> instance that provides
            context about the validation operation, such as the object and member being validated.</param>
            <returns>Whatever the <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.Method"/> in <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.ValidatorType"/> returns.</returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is malformed.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.CustomValidationAttribute.FormatErrorMessage(System.String)">
            <summary>
            Override of <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.FormatErrorMessage(System.String)"/>
            </summary>
            <param name="name">The name to include in the formatted string</param>
            <returns>A localized string to describe the problem.</returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is malformed.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.CustomValidationAttribute.GetHashCode">
            <summary>
            Override of the default <see cref="M:System.Object.GetHashCode"/>.
            </summary>
            <remarks>This override exists to circumvent the base class implementation that uses private Reflection and cannot work in partial trust.</remarks>
            <returns>The has code.</returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.CustomValidationAttribute.Equals(System.Object)">
            <summary>
            Override of <see cref="M:System.Object.Equals(System.Object)"/>.
            </summary>
            <remarks>This override exists to circumvent the base class implementation that uses private Reflection and cannot work in partial trust.</remarks>
            <param name="obj">The object to compare to the current object.</param>
            <returns><c>true</c> if <paramref name="obj"/> is equal to the current object.</returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.CustomValidationAttribute.IsAttributeWellFormed(System.String@)">
            <summary>
            Determines whether the current attribute instance itself is valid for use.
            </summary>
            <param name="errorMessage">The returned error message if it is not malformed, null if it is well-formed.</param>
            <returns><c>true</c> if it is valid.</returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.CustomValidationAttribute.ValidateValidatorTypeParameter">
            <summary>
            Internal helper to determine whether <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.ValidatorType"/> is legal for use.
            </summary>
            <returns><c>null</c> or the appropriate error message.</returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.CustomValidationAttribute.ValidateMethodParameter">
            <summary>
            Internal helper to determine whether <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.Method"/> is legal for use.
            </summary>
            <returns><c>null</c> or the appropriate error message.</returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.CustomValidationAttribute.ThrowIfAttributeNotWellFormed">
            <summary>
            Throws InvalidOperationException if the attribute is not valid.
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.CustomValidationAttribute.TryConvertValue(System.Object,System.Object@)">
            <summary>
            Attempts to convert the given value to the type needed to invoke the method for the current
            CustomValidationAttribute.
            </summary>
            <param name="value">The value to check/convert.</param>
            <param name="convertedValue">If successful, the converted (or copied) value.</param>
            <returns><c>true</c> if type value was already correct or was successfully converted.</returns>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.ValidatorType">
            <summary>
            Gets the type that contains the validation method identified by <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.Method"/>.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.Method">
            <summary>
            Gets the name of the method in <see cref="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.ValidatorType"/> to invoke to perform validation.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.CustomValidationAttribute.TypeId">
            <summary>
            Gets a unique identifier for this attribute.
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.DataType">
            <summary>
            Enumeration of logical data types that may appear in <see cref="T:System.ComponentModel.DataAnnotations.DataTypeAttribute"/>
            </summary>
        </member>
        <member name="F:System.ComponentModel.DataAnnotations.DataType.Custom">
            <summary>
            Custom data type, not one of the static data types we know
            </summary>
        </member>
        <member name="F:System.ComponentModel.DataAnnotations.DataType.DateTime">
            <summary>
            DateTime data type
            </summary>
        </member>
        <member name="F:System.ComponentModel.DataAnnotations.DataType.Date">
            <summary>
            Date data type
            </summary>
        </member>
        <member name="F:System.ComponentModel.DataAnnotations.DataType.Time">
            <summary>
            Time data type
            </summary>
        </member>
        <member name="F:System.ComponentModel.DataAnnotations.DataType.Duration">
            <summary>
            Duration data type
            </summary>
        </member>
        <member name="F:System.ComponentModel.DataAnnotations.DataType.PhoneNumber">
            <summary>
            Phone number data type
            </summary>
        </member>
        <member name="F:System.ComponentModel.DataAnnotations.DataType.Currency">
            <summary>
            Currency data type
            </summary>
        </member>
        <member name="F:System.ComponentModel.DataAnnotations.DataType.Text">
            <summary>
            Plain text data type
            </summary>
        </member>
        <member name="F:System.ComponentModel.DataAnnotations.DataType.Html">
            <summary>
            Html data type
            </summary>
        </member>
        <member name="F:System.ComponentModel.DataAnnotations.DataType.MultilineText">
            <summary>
            Multiline text data type
            </summary>
        </member>
        <member name="F:System.ComponentModel.DataAnnotations.DataType.EmailAddress">
            <summary>
            Email address data type
            </summary>
        </member>
        <member name="F:System.ComponentModel.DataAnnotations.DataType.Password">
            <summary>
            Password data type -- do not echo in UI
            </summary>
        </member>
        <member name="F:System.ComponentModel.DataAnnotations.DataType.Url">
            <summary>
            URL data type
            </summary>
        </member>
        <member name="F:System.ComponentModel.DataAnnotations.DataType.ImageUrl">
            <summary>
            URL to an Image -- to be displayed as an image instead of text
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.DataTypeAttribute">
            <summary>
            Allows for clarification of the <see cref="P:System.ComponentModel.DataAnnotations.DataTypeAttribute.DataType"/> represented by a given
            property (such as <see cref="F:System.ComponentModel.DataAnnotations.DataType.PhoneNumber"/>
            or <see cref="F:System.ComponentModel.DataAnnotations.DataType.Url"/>)
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.DataTypeAttribute.GetDataTypeName">
            <summary>
            Return the name of the data type, either using the <see cref="P:System.ComponentModel.DataAnnotations.DataTypeAttribute.DataType"/> enum or <see cref="P:System.ComponentModel.DataAnnotations.DataTypeAttribute.CustomDataType"/> string
            </summary>
            <returns>The name of the data type enum</returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.DataTypeAttribute.#ctor(System.ComponentModel.DataAnnotations.DataType)">
            <summary>
            Constructor that accepts a data type enumeration
            </summary>
            <param name="dataType">The <see cref="P:System.ComponentModel.DataAnnotations.DataTypeAttribute.DataType"/> enum value indicating the type to apply.</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.DataTypeAttribute.#ctor(System.String)">
            <summary>
            Constructor that accepts the string name of a custom data type
            </summary>
            <param name="customDataType">The string name of the custom data type.</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.DataTypeAttribute.IsValid(System.Object)">
            <summary>
            Override of <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object)"/>
            </summary>
            <remarks>This override always returns <c>true</c>.  Subclasses should override this to provide the correct result.</remarks>
            <param name="value">The value to validate</param>
            <returns>Unconditionally returns <c>true</c></returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.DataTypeAttribute.EnsureValidDataType">
            <summary>
            Throws an exception if this attribute is not correctly formed
            </summary>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DataTypeAttribute.DataType">
            <summary>
            Gets the DataType. If it equals DataType.Custom, <see cref="P:System.ComponentModel.DataAnnotations.DataTypeAttribute.CustomDataType"/> should also be retrieved.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DataTypeAttribute.CustomDataType">
            <summary>
            Gets the string representing a custom data type. Returns a non-null value only if <see cref="P:System.ComponentModel.DataAnnotations.DataTypeAttribute.DataType"/> is DataType.Custom.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DataTypeAttribute.DisplayFormat">
            <summary>
            Gets the default display format that gets used along with this DataType.
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.DisplayAttribute">
            <summary>
            DisplayAttribute is a general-purpose attribute to specify user-visible globalizable strings for types and members.
            The string properties of this class can be used either as literals or as resource identifiers into a specified
            <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/>
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.DisplayAttribute.#ctor">
            <summary>
            Default constructor for DisplayAttribute.  All associated string properties and methods will return <c>null</c>.
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetShortName">
            <summary>
            Gets the UI display string for ShortName.
            <para>
            This can be either a literal, non-localized string provided to <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ShortName"/> or the
            localized string found when <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified and <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ShortName"/>
            represents a resource key within that resource type.
            </para>
            </summary>
            <returns>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has not been specified, the value of
            <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ShortName"/> will be returned.
            <para>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified and <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ShortName"/>
            represents a resource key within that resource type, then the localized value will be returned.
            </para>
            <para>
            If <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ShortName"/> is <c>null</c>, the value from <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetName"/> will be returned.
            </para>
            </returns>
            <exception cref="T:System.InvalidOperationException">
            After setting both the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> property and the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ShortName"/> property,
            but a public static property with a name matching the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ShortName"/> value couldn't be found
            on the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/>.
            </exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetName">
            <summary>
            Gets the UI display string for Name.
            <para>
            This can be either a literal, non-localized string provided to <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Name"/> or the
            localized string found when <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified and <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Name"/>
            represents a resource key within that resource type.
            </para>
            </summary>
            <returns>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has not been specified, the value of
            <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Name"/> will be returned.
            <para>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified and <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Name"/>
            represents a resource key within that resource type, then the localized value will be returned.
            </para>
            <para>
            Can return <c>null</c> and will not fall back onto other values, as it's more likely for the
            consumer to want to fall back onto the property name.
            </para>
            </returns>
            <exception cref="T:System.InvalidOperationException">
            After setting both the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> property and the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Name"/> property,
            but a public static property with a name matching the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Name"/> value couldn't be found
            on the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/>.
            </exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetDescription">
            <summary>
            Gets the UI display string for Description.
            <para>
            This can be either a literal, non-localized string provided to <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Description"/> or the
            localized string found when <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified and <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Description"/>
            represents a resource key within that resource type.
            </para>
            </summary>
            <returns>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has not been specified, the value of
            <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Description"/> will be returned.
            <para>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified and <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Description"/>
            represents a resource key within that resource type, then the localized value will be returned.
            </para>
            </returns>
            <exception cref="T:System.InvalidOperationException">
            After setting both the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> property and the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Description"/> property,
            but a public static property with a name matching the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Description"/> value couldn't be found
            on the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/>.
            </exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetPrompt">
            <summary>
            Gets the UI display string for Prompt.
            <para>
            This can be either a literal, non-localized string provided to <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Prompt"/> or the
            localized string found when <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified and <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Prompt"/>
            represents a resource key within that resource type.
            </para>
            </summary>
            <returns>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has not been specified, the value of
            <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Prompt"/> will be returned.
            <para>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified and <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Prompt"/>
            represents a resource key within that resource type, then the localized value will be returned.
            </para>
            </returns>
            <exception cref="T:System.InvalidOperationException">
            After setting both the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> property and the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Prompt"/> property,
            but a public static property with a name matching the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Prompt"/> value couldn't be found
            on the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/>.
            </exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetGroupName">
            <summary>
            Gets the UI display string for GroupName.
            <para>
            This can be either a literal, non-localized string provided to <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.GroupName"/> or the
            localized string found when <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified and <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.GroupName"/>
            represents a resource key within that resource type.
            </para>
            </summary>
            <returns>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has not been specified, the value of
            <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.GroupName"/> will be returned.
            <para>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified and <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.GroupName"/>
            represents a resource key within that resource type, then the localized value will be returned.
            </para>
            </returns>
            <exception cref="T:System.InvalidOperationException">
            After setting both the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> property and the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.GroupName"/> property,
            but a public static property with a name matching the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.GroupName"/> value couldn't be found
            on the <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/>.
            </exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetAutoGenerateField">
            <summary>
            Gets the value of <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.AutoGenerateField"/> if it has been set, or <c>null</c>.
            </summary>
            <returns>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.AutoGenerateField"/> has been set returns the value of that property.
            <para>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.AutoGenerateField"/> has not been set returns <c>null</c>.
            </para>
            </returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetAutoGenerateFilter">
            <summary>
            Gets the value of <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.AutoGenerateFilter"/> if it has been set, or <c>null</c>.
            </summary>
            <returns>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.AutoGenerateFilter"/> has been set returns the value of that property.
            <para>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.AutoGenerateFilter"/> has not been set returns <c>null</c>.
            </para>
            </returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetOrder">
            <summary>
            Gets the value of <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Order"/> if it has been set, or <c>null</c>.
            </summary>
            <returns>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Order"/> has been set returns the value of that property.
            <para>
            When <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Order"/> has not been set returns <c>null</c>.
            </para>
            </returns>
            <remarks>
            When an order is not specified, presentation layers should consider using the value
            of 10000.  This value allows for explicitly-ordered fields to be displayed before
            and after the fields that don't specify an order.
            </remarks>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ShortName">
            <summary>
            Gets or sets the ShortName attribute property, which may be a resource key string.
            <para>
            Consumers must use the <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetShortName"/> method to retrieve the UI display string.
            </para>
            </summary>
            <remarks>
            The property contains either the literal, non-localized string or the resource key
            to be used in conjunction with <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> to configure a localized
            short name for display.
            <para>
            The <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetShortName"/> method will return either the literal, non-localized
            string or the localized string when <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified.
            </para>
            </remarks>
            <value>
            The short name is generally used as the grid column label for a UI element bound to the member
            bearing this attribute.  A <c>null</c> or empty string is legal, and consumers must allow for that.
            </value>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Name">
            <summary>
            Gets or sets the Name attribute property, which may be a resource key string.
            <para>
            Consumers must use the <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetName"/> method to retrieve the UI display string.
            </para>
            </summary>
            <remarks>
            The property contains either the literal, non-localized string or the resource key
            to be used in conjunction with <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> to configure a localized
            name for display.
            <para>
            The <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetName"/> method will return either the literal, non-localized
            string or the localized string when <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified.
            </para>
            </remarks>
            <value>
            The name is generally used as the field label for a UI element bound to the member
            bearing this attribute.  A <c>null</c> or empty string is legal, and consumers must allow for that.
            </value>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Description">
            <summary>
            Gets or sets the Description attribute property, which may be a resource key string.
            <para>
            Consumers must use the <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetDescription"/> method to retrieve the UI display string.
            </para>
            </summary>
            <remarks>
            The property contains either the literal, non-localized string or the resource key
            to be used in conjunction with <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> to configure a localized
            description for display.
            <para>
            The <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetDescription"/> method will return either the literal, non-localized
            string or the localized string when <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified.
            </para>
            </remarks>
            <value>
            Description is generally used as a tool tip or description a UI element bound to the member
            bearing this attribute.  A <c>null</c> or empty string is legal, and consumers must allow for that.
            </value>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Prompt">
            <summary>
            Gets or sets the Prompt attribute property, which may be a resource key string.
            <para>
            Consumers must use the <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetPrompt"/> method to retrieve the UI display string.
            </para>
            </summary>
            <remarks>
            The property contains either the literal, non-localized string or the resource key
            to be used in conjunction with <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> to configure a localized
            prompt for display.
            <para>
            The <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetPrompt"/> method will return either the literal, non-localized
            string or the localized string when <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified.
            </para>
            </remarks>
            <value>
            A prompt is generally used as a prompt or watermark for a UI element bound to the member
            bearing this attribute.  A <c>null</c> or empty string is legal, and consumers must allow for that.
            </value>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DisplayAttribute.GroupName">
            <summary>
            Gets or sets the GroupName attribute property, which may be a resource key string.
            <para>
            Consumers must use the <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetGroupName"/> method to retrieve the UI display string.
            </para>
            </summary>
            <remarks>
            The property contains either the literal, non-localized string or the resource key
            to be used in conjunction with <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> to configure a localized
            group name for display.
            <para>
            The <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetGroupName"/> method will return either the literal, non-localized
            string or the localized string when <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> has been specified.
            </para>
            </remarks>
            <value>
            A group name is used for grouping fields into the UI.  A <c>null</c> or empty string is legal,
            and consumers must allow for that.
            </value>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType">
            <summary>
            Gets or sets the <see cref="T:System.Type"/> that contains the resources for <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ShortName"/>,
            <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Name"/>, <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Description"/>, <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Prompt"/>, and <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.GroupName"/>.
            Using <see cref="P:System.ComponentModel.DataAnnotations.DisplayAttribute.ResourceType"/> along with these Key properties, allows the <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetShortName"/>,
            <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetName"/>, <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetDescription"/>, <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetPrompt"/>, and <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetGroupName"/>
            methods to return localized values.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DisplayAttribute.AutoGenerateField">
            <summary>
            Gets or sets whether UI should be generated automatically to display this field. If this property is not
            set then the presentation layer will automatically determine whether UI should be generated. Setting this
            property allows an override of the default behavior of the presentation layer.
            <para>
            Consumers must use the <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetAutoGenerateField"/> method to retrieve the value, as this property getter will throw
            an exception if the value has not been set.
            </para>
            </summary>
            <exception cref="T:System.InvalidOperationException">
            If the getter of this property is invoked when the value has not been explicitly set using the setter.
            </exception>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DisplayAttribute.AutoGenerateFilter">
            <summary>
            Gets or sets whether UI should be generated automatically to display filtering for this field. If this property is not
            set then the presentation layer will automatically determine whether filtering UI should be generated. Setting this
            property allows an override of the default behavior of the presentation layer.
            <para>
            Consumers must use the <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetAutoGenerateFilter"/> method to retrieve the value, as this property getter will throw
            an exception if the value has not been set.
            </para>
            </summary>
            <exception cref="T:System.InvalidOperationException">
            If the getter of this property is invoked when the value has not been explicitly set using the setter.
            </exception>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DisplayAttribute.Order">
            <summary>
            Gets or sets the order in which this field should be displayed.  If this property is not set then
            the presentation layer will automatically determine the order.  Setting this property explicitly
            allows an override of the default behavior of the presentation layer.
            <para>
            Consumers must use the <see cref="M:System.ComponentModel.DataAnnotations.DisplayAttribute.GetOrder"/> method to retrieve the value, as this property getter will throw
            an exception if the value has not been set.
            </para>
            </summary>
            <exception cref="T:System.InvalidOperationException">
            If the getter of this property is invoked when the value has not been explicitly set using the setter.
            </exception>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.DisplayColumnAttribute">
            <summary>
            Sets the display column, the sort column, and the sort order for when a table is used as a parent table in FK relationships.
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.DisplayFormatAttribute">
            <summary>
            Allows overriding various display-related options for a given field. The options have the same meaning as in BoundField.
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.DisplayFormatAttribute.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DisplayFormatAttribute.DataFormatString">
            <summary>
            Gets or sets the format string
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DisplayFormatAttribute.NullDisplayText">
            <summary>
            Gets or sets the string to display when the value is null
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DisplayFormatAttribute.ConvertEmptyStringToNull">
            <summary>
            Gets or sets a value indicating whether empty strings should be set to null
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DisplayFormatAttribute.ApplyFormatInEditMode">
            <summary>
            Gets or sets a value indicating whether the format string should be used in edit mode
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.DisplayFormatAttribute.HtmlEncode">
            <summary>
            Gets or sets a value indicating whether the field should be html encoded
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.EditableAttribute">
            <summary>
            Indicates whether the consumer of a field or property, such as a client application,
            should allow editing of the value.
            </summary>
            <remarks>
            This attribute neither enforces nor guarantees editability; the underlying data
            store might allow changing the data regardless of this attribute.  The presence
            of this attribute signals intent to the consumer of the attribute whethere or not
            the end user should be allowed to change the value via the client application.
            </remarks>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.EditableAttribute.#ctor(System.Boolean)">
            <summary>
            Indicate whether or not a field/property is editable.
            </summary>
            <param name="allowEdit">
            Indicates whether the field/property is editable.  The value provided
            will apply to both <see cref="P:System.ComponentModel.DataAnnotations.EditableAttribute.AllowEdit"/> and
            <see cref="P:System.ComponentModel.DataAnnotations.EditableAttribute.AllowInitialValue"/> unless the <see cref="P:System.ComponentModel.DataAnnotations.EditableAttribute.AllowInitialValue"/>
            property is explicitly specified.
            </param>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.EditableAttribute.AllowEdit">
            <summary>
            Indicates whether or not the field/property allows editing of the
            value.
            </summary>
            <value>
            When <c>true</c>, the field/property is editable.
            <para>
            When <c>false</c>, the field/property is not editable.
            </para>
            </value>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.EditableAttribute.AllowInitialValue">
            <summary>
            Indicates whether or not the field/property allows an initial value
            to be specified.
            </summary>
            <remarks>
            The value of this property defaults to match the <see cref="P:System.ComponentModel.DataAnnotations.EditableAttribute.AllowEdit"/>
            property value specified in the constructor.
            </remarks>
            <value>
            When <c>true</c>, the field/property can have its value set for
            newly constructed instances, such as during an insert operation.
            <para>
            When <c>false</c>, the field/property cannot have its
            value provided for newly constructed instances, such as during
            an insert operation.  This will often indicate that the value
            is auto-generated by the persistence store.
            </para>
            </value>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.FilterUIHintAttribute">
            <summary>
            An attribute used to specify the filtering behavior for a column.
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.FilterUIHintAttribute.#ctor(System.String)">
            <summary>
            Constructor that accepts the name of the control, without specifying which presentation layer to use
            </summary>
            <param name="filterUIHint">The name of the UI control.</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.FilterUIHintAttribute.#ctor(System.String,System.String)">
            <summary>
            Constructor that accepts both the name of the control as well as the presentation layer
            </summary>
            <param name="filterUIHint">The name of the control to use</param>
            <param name="presentationLayer">The name of the presentation layer that supports this control</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.FilterUIHintAttribute.#ctor(System.String,System.String,System.Object[])">
            <summary>
            Full constructor that accepts the name of the control, presentation layer, and optional parameters
            to use when constructing the control
            </summary>
            <param name="filterUIHint">The name of the control</param>
            <param name="presentationLayer">The presentation layer</param>
            <param name="controlParameters">The list of parameters for the control</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.FilterUIHintAttribute.GetHashCode">
            <summary>
            Returns the hash code for this FilterUIHintAttribute.
            </summary>
            <returns>A 32-bit signed integer hash code.</returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.FilterUIHintAttribute.Equals(System.Object)">
            <summary>
            Determines whether this instance of FilterUIHintAttribute and a specified object,
            which must also be a FilterUIHintAttribute object, have the same value.
            </summary>
            <param name="obj">An System.Object.</param>
            <returns>true if obj is a FilterUIHintAttribute and its value is the same as this instance; otherwise, false.</returns>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.FilterUIHintAttribute.FilterUIHint">
            <summary>
            Gets the name of the control that is most appropriate for this associated property or field
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.FilterUIHintAttribute.PresentationLayer">
            <summary>
            Gets the name of the presentation layer that supports the control type in <see cref="P:System.ComponentModel.DataAnnotations.FilterUIHintAttribute.FilterUIHint"/>
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.FilterUIHintAttribute.ControlParameters">
            <summary>
            Gets the name-value pairs used as parameters to the control's constructor
            </summary>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.FilterUIHintAttribute.TypeId">
            <summary>
            Gets a unique identifier for this attribute.
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.KeyAttribute">
            <summary>
            Used to mark one or more entity properties that provide the entity's unique identity
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.LocalizableString">
            <summary>
            A helper class for providing a localizable string property.  
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.LocalizableString.#ctor(System.String)">
            <summary>
            Constructs a localizable string, specifying the property name associated
            with this item.  The <paramref name="propertyName"/> value will be used
            within any exceptions thrown as a result of localization failures.
            </summary>
            <param name="propertyName">The name of the property being localized.  This name
            will be used within exceptions thrown as a result of localization failures.</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.LocalizableString.ClearCache">
            <summary>
            Clears any cached values, forcing <see cref="M:System.ComponentModel.DataAnnotations.LocalizableString.GetLocalizableValue"/> to
            perform evaluation.
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.LocalizableString.GetLocalizableValue">
            <summary>
            Gets the potentially localized value.
            </summary>
            <remarks>
            If <see cref="P:System.ComponentModel.DataAnnotations.LocalizableString.ResourceType"/> has been specified and <see cref="P:System.ComponentModel.DataAnnotations.LocalizableString.Value"/> is not
            null, then localization will occur and the localized value will be returned.
            <para>
            If <see cref="P:System.ComponentModel.DataAnnotations.LocalizableString.ResourceType"/> is null then <see cref="P:System.ComponentModel.DataAnnotations.LocalizableString.Value"/> will be returned
            as a literal, non-localized string.
            </para>
            </remarks>
            <exception cref="T:System.InvalidOperationException">
            Thrown if localization fails.  This can occur if <see cref="P:System.ComponentModel.DataAnnotations.LocalizableString.ResourceType"/> has been
            specified, <see cref="P:System.ComponentModel.DataAnnotations.LocalizableString.Value"/> is not null, but the resource could not be
            accessed.  <see cref="P:System.ComponentModel.DataAnnotations.LocalizableString.ResourceType"/> must be a public class, and <see cref="P:System.ComponentModel.DataAnnotations.LocalizableString.Value"/>
            must be the name of a public static string property that contains a getter.
            </exception>
            <returns>
            Returns the potentially localized value.
            </returns>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.LocalizableString.Value">
            <summary>
            Gets or sets the value of this localizable string.  This value can be
            either the literal, non-localized value, or it can be a resource name
            found on the resource type supplied to <see cref="M:System.ComponentModel.DataAnnotations.LocalizableString.GetLocalizableValue"/>.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.LocalizableString.ResourceType">
            <summary>
            Gets or sets the resource type to be used for localization.
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.MetadataTypeAttribute">
            <summary>
            Used for associating a metadata class with the entity class.
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.RangeAttribute">
            <summary>
            Used for specifying a range constraint
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.RangeAttribute.#ctor(System.Int32,System.Int32)">
            <summary>
            Constructor that takes integer minimum and maximum values
            </summary>
            <param name="minimum">The minimum value, inclusive</param>
            <param name="maximum">The maximum value, inclusive</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.RangeAttribute.#ctor(System.Double,System.Double)">
            <summary>
            Constructor that takes double minimum and maximum values
            </summary>
            <param name="minimum">The minimum value, inclusive</param>
            <param name="maximum">The maximum value, inclusive</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.RangeAttribute.#ctor(System.Type,System.String,System.String)">
            <summary>
            Allows for specifying range for arbitrary types. The minimum and maximum strings will be converted to the target type.
            </summary>
            <param name="type">The type of the range parameters. Must implement IComparable.</param>
            <param name="minimum">The minimum allowable value.</param>
            <param name="maximum">The maximum allowable value.</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.RangeAttribute.IsValid(System.Object)">
            <summary>
            Returns true if the value falls between min and max, inclusive.
            </summary>
            <param name="value">The value to test for validity.</param>
            <returns><c>true</c> means the <paramref name="value"/> is valid</returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.RangeAttribute.FormatErrorMessage(System.String)">
            <summary>
            Override of <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.FormatErrorMessage(System.String)"/>
            </summary>
            <remarks>This override exists to provide a formatted message describing the minimum and maximum values</remarks>
            <param name="name">The user-visible name to include in the formatted message.</param>
            <returns>A localized string describing the minimum and maximum values</returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.RangeAttribute.SetupConversion">
            <summary>
            Validates the properties of this attribute and sets up the conversion function.
            This method throws exceptions if the attribute is not configured properly.
            If it has once determined it is properly configured, it is a NOP.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.RangeAttribute.Minimum">
            <summary>
            Gets the minimum value for the range
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.RangeAttribute.Maximum">
            <summary>
            Gets the maximum value for the range
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.RangeAttribute.OperandType">
            <summary>
            Gets the type of the <see cref="P:System.ComponentModel.DataAnnotations.RangeAttribute.Minimum"/> and <see cref="P:System.ComponentModel.DataAnnotations.RangeAttribute.Maximum"/> values (e.g. Int32, Double, or some custom type)
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.RegularExpressionAttribute">
            <summary>
            Regular expression validation attribute
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.RegularExpressionAttribute.#ctor(System.String)">
            <summary>
            Constructor that accepts the regular expression pattern
            </summary>
            <param name="pattern">The regular expression to use.  It cannot be null.</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.RegularExpressionAttribute.IsValid(System.Object)">
            <summary>
            Override of <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object)"/>
            </summary>
            <remarks>This override performs the specific regular expression matching of the given <paramref name="value"/></remarks>
            <param name="value">The value to test for validity.</param>
            <returns><c>true</c> if the given value matches the current regular expression pattern</returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
            <exception cref="T:System.ArgumentException"> is thrown if the <see cref="P:System.ComponentModel.DataAnnotations.RegularExpressionAttribute.Pattern"/> is not a valid regular expression.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.RegularExpressionAttribute.FormatErrorMessage(System.String)">
            <summary>
            Override of <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.FormatErrorMessage(System.String)"/>
            </summary>
            <remarks>This override provide a formatted error message describing the pattern</remarks>
            <param name="name">The user-visible name to include in the formatted message.</param>
            <returns>The localized message to present to the user</returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
            <exception cref="T:System.ArgumentException"> is thrown if the <see cref="P:System.ComponentModel.DataAnnotations.RegularExpressionAttribute.Pattern"/> is not a valid regular expression.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.RegularExpressionAttribute.SetupRegex">
            <summary>
            Sets up the <see cref="P:System.ComponentModel.DataAnnotations.RegularExpressionAttribute.Regex"/> property from the <see cref="P:System.ComponentModel.DataAnnotations.RegularExpressionAttribute.Pattern"/> property.
            </summary>
            <exception cref="T:System.ArgumentException"> is thrown if the current <see cref="P:System.ComponentModel.DataAnnotations.RegularExpressionAttribute.Pattern"/> cannot be parsed</exception>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.RegularExpressionAttribute.Pattern">
            <summary>
            Gets the regular expression pattern to use
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.RequiredAttribute">
            <summary>
            Validation attribute to indicate that a property field or parameter is required.
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.RequiredAttribute.#ctor">
            <summary>
            Default constructor.
            </summary>
            <remarks>This constructor selects a reasonable default error message for <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.FormatErrorMessage(System.String)"/></remarks>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.RequiredAttribute.IsValid(System.Object)">
            <summary>
            Override of <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object)"/>
            </summary>
            <param name="value">The value to test</param>
            <returns><c>false</c> if the <paramref name="value"/> is null or an empty string. If <see cref="P:System.ComponentModel.DataAnnotations.RequiredAttribute.AllowEmptyStrings"/>
            then <c>false</c> is returned only if <paramref name="vale"/> is null.</returns>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.RequiredAttribute.AllowEmptyStrings">
            <summary>
            Gets or sets a flag indicating whether the attribute should allow empty strings.
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.AssociatedMetadataTypeTypeDescriptor_MetadataTypeContainsUnknownProperties">
            <summary>
              Looks up a localized string similar to The associated metadata type for type &apos;{0}&apos; contains the following unknown properties or fields: {1}. Please make sure that the names of these members match the names of the properties on the main type..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.AttributeStore_Type_Must_Be_Public">
            <summary>
              Looks up a localized string similar to The type &apos;{0}&apos; must be public..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.AttributeStore_Unknown_Method">
            <summary>
              Looks up a localized string similar to The type &apos;{0}&apos; does not contain a public method named &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.AttributeStore_Unknown_Property">
            <summary>
              Looks up a localized string similar to The type &apos;{0}&apos; does not contain a public property named &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.CustomValidationAttribute_Method_Must_Return_ValidationResult">
            <summary>
              Looks up a localized string similar to The CustomValidationAttribute method &apos;{0}&apos; in type &apos;{1}&apos; must return System.ComponentModel.DataAnnotations.ValidationResult.  Use System.ComponentModel.DataAnnotations.ValidationResult.Success to represent success..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.CustomValidationAttribute_Method_Not_Found">
            <summary>
              Looks up a localized string similar to The CustomValidationAttribute method &apos;{0}&apos; does not exist in type &apos;{1}&apos; or is not public and static..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.CustomValidationAttribute_Method_Required">
            <summary>
              Looks up a localized string similar to The CustomValidationAttribute.Method was not specified..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.CustomValidationAttribute_Method_Signature">
            <summary>
              Looks up a localized string similar to The CustomValidationAttribute method &apos;{0}&apos; in type &apos;{1}&apos; must match the expected signature: public static ValidationResult {0}(object value, ValidationContext context).  The value can be strongly typed.  The ValidationContext parameter is optional..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.CustomValidationAttribute_Type_Conversion_Failed">
            <summary>
              Looks up a localized string similar to Could not convert the value of type &apos;{0}&apos; to &apos;{1}&apos; as expected by method {2}.{3}..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.CustomValidationAttribute_Type_Must_Be_Public">
            <summary>
              Looks up a localized string similar to The custom validation type &apos;{0}&apos; must be public..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.CustomValidationAttribute_ValidationError">
            <summary>
              Looks up a localized string similar to {0} is not valid..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.CustomValidationAttribute_ValidatorType_Required">
            <summary>
              Looks up a localized string similar to The CustomValidationAttribute.ValidatorType was not specified..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.DataTypeAttribute_EmptyDataTypeString">
            <summary>
              Looks up a localized string similar to The custom DataType string cannot be null or empty..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.DisplayAttribute_PropertyNotSet">
            <summary>
              Looks up a localized string similar to The {0} property has not been set.  Use the {1} method to get the value..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.EnumDataTypeAttribute_TypeCannotBeNull">
            <summary>
              Looks up a localized string similar to The type provided for EnumDataTypeAttribute cannot be null..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.EnumDataTypeAttribute_TypeNeedsToBeAnEnum">
            <summary>
              Looks up a localized string similar to The type &apos;{0}&apos; needs to represent an enumeration type..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.LocalizableString_LocalizationFailed">
            <summary>
              Looks up a localized string similar to Cannot retrieve property &apos;{0}&apos; because localization failed.  Type &apos;{1}&apos; is not public or does not contain a public static string property with the name &apos;{2}&apos;..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.MetadataTypeAttribute_TypeCannotBeNull">
            <summary>
              Looks up a localized string similar to MetadataClassType cannot be null..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.RangeAttribute_ArbitraryTypeNotIComparable">
            <summary>
              Looks up a localized string similar to The type {0} must implement {1}..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.RangeAttribute_MinGreaterThanMax">
            <summary>
              Looks up a localized string similar to The maximum value &apos;{0}&apos; must be greater than or equal to the minimum value &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.RangeAttribute_Must_Set_Min_And_Max">
            <summary>
              Looks up a localized string similar to The minimum and maximum values must be set..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.RangeAttribute_Must_Set_Operand_Type">
            <summary>
              Looks up a localized string similar to The OperandType must be set when strings are used for minimum and maximum values..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.RangeAttribute_ValidationError">
            <summary>
              Looks up a localized string similar to The field {0} must be between {1} and {2}..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.RegexAttribute_ValidationError">
            <summary>
              Looks up a localized string similar to The field {0} must match the regular expression &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.RegularExpressionAttribute_Empty_Pattern">
            <summary>
              Looks up a localized string similar to The pattern must be set to a valid regular expression..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.RequiredAttribute_ValidationError">
            <summary>
              Looks up a localized string similar to The {0} field is required..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.StringLengthAttribute_InvalidMaxLength">
            <summary>
              Looks up a localized string similar to The maximum length must be a nonnegative integer..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.StringLengthAttribute_ValidationError">
            <summary>
              Looks up a localized string similar to The field {0} must be a string with a maximum length of {1}..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.StringLengthAttribute_ValidationErrorIncludingMinimum">
            <summary>
              Looks up a localized string similar to The field {0} must be a string with a minimum length of {2} and a maximum length of {1}..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.UIHintImplementation_ControlParameterKeyIsNotAString">
            <summary>
              Looks up a localized string similar to The key parameter at position {0} with value &apos;{1}&apos; is not a string. Every key control parameter must be a string..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.UIHintImplementation_ControlParameterKeyIsNull">
            <summary>
              Looks up a localized string similar to The key parameter at position {0} is null. Every key control parameter must be a string..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.UIHintImplementation_ControlParameterKeyOccursMoreThanOnce">
            <summary>
              Looks up a localized string similar to The key parameter at position {0} with value &apos;{1}&apos; occurs more than once..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.UIHintImplementation_NeedEvenNumberOfControlParameters">
            <summary>
              Looks up a localized string similar to The number of control parameters must be even..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.ValidationAttribute_Cannot_Set_ErrorMessage_And_Resource">
            <summary>
              Looks up a localized string similar to Either ErrorMessageString or ErrorMessageResourceName must be set, but not both..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.ValidationAttribute_IsValid_NotImplemented">
            <summary>
              Looks up a localized string similar to IsValid(object value) has not been implemented by this class.  The preferred entry point is GetValidationResult() and classes should override IsValid(object value, ValidationContext context)..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.ValidationAttribute_NeedBothResourceTypeAndResourceName">
            <summary>
              Looks up a localized string similar to Both ErrorMessageResourceType and ErrorMessageResourceName need to be set on this attribute..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.ValidationAttribute_ResourcePropertyNotStringType">
            <summary>
              Looks up a localized string similar to The property &apos;{0}&apos; on resource type &apos;{1}&apos; is not a string type..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.ValidationAttribute_ResourceTypeDoesNotHaveProperty">
            <summary>
              Looks up a localized string similar to The resource type &apos;{0}&apos; does not have an accessible static property named &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.ValidationAttribute_ValidationError">
            <summary>
              Looks up a localized string similar to The field {0} is invalid..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.ValidationContext_Must_Be_Method">
            <summary>
              Looks up a localized string similar to The ValidationContext for the type &apos;{0}&apos;, member name &apos;{1}&apos; must provide the MethodInfo..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.ValidationContextServiceContainer_ItemAlreadyExists">
            <summary>
              Looks up a localized string similar to A service of type &apos;{0}&apos; already exists in the container..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.Validator_InstanceMustMatchValidationContextInstance">
            <summary>
              Looks up a localized string similar to The instance provided must match the ObjectInstance on the ValidationContext supplied..
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.Resources.DataAnnotationsResources.Validator_Property_Value_Wrong_Type">
            <summary>
              Looks up a localized string similar to The value for property &apos;{0}&apos; must be of type &apos;{1}&apos;..
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.StringLengthAttribute">
            <summary>
            Validation attribute to assert a string property, field or parameter does not exceed a maximum length
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.StringLengthAttribute.#ctor(System.Int32)">
            <summary>
            Constructor that accepts the maximum length of the string.
            </summary>
            <param name="maximumLength">The maximum length, inclusive.  It may not be negative.</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.StringLengthAttribute.IsValid(System.Object)">
            <summary>
            Override of <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object)"/>
            </summary>
            <remarks>This method returns <c>true</c> if the <paramref name="value"/> is null.  
            It is assumed the <see cref="T:System.ComponentModel.DataAnnotations.RequiredAttribute"/> is used if the value may not be null.</remarks>
            <param name="value">The value to test.</param>
            <returns><c>true</c> if the value is null or less than or equal to the set maximum length</returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.StringLengthAttribute.FormatErrorMessage(System.String)">
            <summary>
            Override of <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.FormatErrorMessage(System.String)"/>
            </summary>
            <param name="name">The name to include in the formatted string</param>
            <returns>A localized string to describe the maximum acceptable length</returns>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.StringLengthAttribute.EnsureLegalLengths">
            <summary>
            Checks that MinimumLength and MaximumLength have legal values.  Throws InvalidOperationException if not.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.StringLengthAttribute.MaximumLength">
            <summary>
            Gets the maximum acceptable length of the string
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.StringLengthAttribute.MinimumLength">
            <summary>
            Gets or sets the minimum acceptable length of the string
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.TimestampAttribute">
            <summary>
            This attribute is used to mark a Timestamp member of a Type. 
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.UIHintAttribute">
            <summary>
            Attribute to provide a hint to the presentation layer about what control it should use
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.UIHintAttribute.#ctor(System.String)">
            <summary>
            Constructor that accepts the name of the control, without specifying which presentation layer to use
            </summary>
            <param name="uiHint">The name of the UI control.</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.UIHintAttribute.#ctor(System.String,System.String)">
            <summary>
            Constructor that accepts both the name of the control as well as the presentation layer
            </summary>
            <param name="uiHint">The name of the control to use</param>
            <param name="presentationLayer">The name of the presentation layer that supports this control</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.UIHintAttribute.#ctor(System.String,System.String,System.Object[])">
            <summary>
            Full constructor that accepts the name of the control, presentation layer, and optional parameters
            to use when constructing the control
            </summary>
            <param name="uiHint">The name of the control</param>
            <param name="presentationLayer">The presentation layer</param>
            <param name="controlParameters">The list of parameters for the control</param>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.UIHintAttribute.UIHint">
            <summary>
            Gets the name of the control that is most appropriate for this associated property or field
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.UIHintAttribute.PresentationLayer">
            <summary>
            Gets the name of the presentation layer that supports the control type in <see cref="P:System.ComponentModel.DataAnnotations.UIHintAttribute.UIHint"/>
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.UIHintAttribute.ControlParameters">
            <summary>
            Gets the name-value pairs used as parameters to the control's constructor
            </summary>
            <exception cref="T:System.InvalidOperationException"> is thrown if the current attribute is ill-formed.</exception>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.UIHintAttribute.TypeId">
            <summary>
            Gets a unique identifier for this attribute.
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.UIHintAttribute.UIHintImplementation.GetHashCode">
            <summary>
            Returns the hash code for this UIHintAttribute.
            </summary>
            <returns>A 32-bit signed integer hash code.</returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.UIHintAttribute.UIHintImplementation.Equals(System.Object)">
            <summary>
            Determines whether this instance of UIHintAttribute and a specified object,
            which must also be a UIHintAttribute object, have the same value.
            </summary>
            <param name="obj">An System.Object.</param>
            <returns>true if obj is a UIHintAttribute and its value is the same as this instance; otherwise, false.</returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.UIHintAttribute.UIHintImplementation.BuildControlParametersDictionary">
            <summary>
            Validates the input control parameters and throws InvalidOperationException if they are not correct.
            </summary>
            <returns>
            Dictionary of control parameters.
            </returns>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.UIHintAttribute.UIHintImplementation.UIHint">
            <summary>
            Gets the name of the control that is most appropriate for this associated property or field
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.UIHintAttribute.UIHintImplementation.PresentationLayer">
            <summary>
            Gets the name of the presentation layer that supports the control type in <see cref="P:System.ComponentModel.DataAnnotations.UIHintAttribute.UIHintImplementation.UIHint"/>
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.ValidationAttributeStore">
            <summary>
            Cache of <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>s
            </summary>
            <remarks>
            This internal class serves as a cache of validation attributes and [Display] attributes.
            It exists both to help performance as well as to abstract away the differences between
            Reflection and TypeDescriptor.
            </remarks>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttributeStore.EnsureValidationContext(System.ComponentModel.DataAnnotations.ValidationContext)">
            <summary>
            Throws an ArgumentException of the validation context is null
            </summary>
            <param name="validationContext">The context to check</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttributeStore.GetTypeValidationAttributes(System.ComponentModel.DataAnnotations.ValidationContext)">
            <summary>
            Retrieves the type level validation attributes for the given type.
            </summary>
            <param name="validationContext">The context that describes the type.  It cannot be null.</param>
            <returns>The collection of validation attributes.  It could be empty.</returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttributeStore.GetTypeDisplayAttribute(System.ComponentModel.DataAnnotations.ValidationContext)">
            <summary>
            Retrieves the <see cref="T:System.ComponentModel.DataAnnotations.DisplayAttribute"/> associated with the given type.  It may be null.
            </summary>
            <param name="validationContext">The context that describes the type.  It cannot be null.</param>
            <returns>The display attribute instance, if present.</returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttributeStore.GetPropertyValidationAttributes(System.ComponentModel.DataAnnotations.ValidationContext)">
            <summary>
            Retrieves the set of validation attributes for the property
            </summary>
            <param name="validationContext">The context that describes the property.  It cannot be null.</param>
            <returns>The collection of validation attributes.  It could be empty.</returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttributeStore.GetPropertyDisplayAttribute(System.ComponentModel.DataAnnotations.ValidationContext)">
            <summary>
            Retrieves the <see cref="T:System.ComponentModel.DataAnnotations.DisplayAttribute"/> associated with the given property
            </summary>
            <param name="validationContext">The context that describes the property.  It cannot be null.</param>
            <returns>The display attribute instance, if present.</returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttributeStore.GetPropertyType(System.ComponentModel.DataAnnotations.ValidationContext)">
            <summary>
            Retrieves the Type of the given property.
            </summary>
            <param name="validationContext">The context that describes the property.  It cannot be null.</param>
            <returns>The type of the specified property</returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttributeStore.IsPropertyContext(System.ComponentModel.DataAnnotations.ValidationContext)">
            <summary>
            Determines whether or not a given <see cref="T:System.ComponentModel.DataAnnotations.ValidationContext"/>'s
            <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.MemberName"/> references a property on
            the <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.ObjectType"/>.
            </summary>
            <param name="validationContext">The <see cref="T:System.ComponentModel.DataAnnotations.ValidationContext"/> to check.</param>
            <returns><c>true</c> when the <paramref name="validationContext"/> represents a property, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttributeStore.GetTypeStoreItem(System.Type)">
            <summary>
            Retrieves or creates the store item for the given type
            </summary>
            <param name="type">The type whose store item is needed.  It cannot be null</param>
            <returns>The type store item.  It will not be null.</returns>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationAttributeStore.Instance">
            <summary>
            Gets the singleton <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttributeStore"/>
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.ValidationAttributeStore.StoreItem">
            <summary>
            Private abstract class for all store items
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.ValidationAttributeStore.TypeStoreItem">
            <summary>
            Private class to store data associated with a type
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationAttributeStore.TypeStoreItem.GetExplicitAttributes(System.ComponentModel.PropertyDescriptor)">
            <summary>
            Method to extract only the explicitly specified attributes from a <see cref="T:System.ComponentModel.PropertyDescriptor"/>
            </summary>
            <remarks>
            Normal TypeDescriptor semantics are to inherit the attributes of a property's type.  This method
            exists to suppress those inherited attributes.
            </remarks>
            <param name="propertyDescriptor">The property descriptor whose attributes are needed.</param>
            <returns>A new <see cref="T:System.ComponentModel.AttributeCollection"/> stripped of any attributes from the property's type.</returns>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.ValidationAttributeStore.PropertyStoreItem">
            <summary>
            Private class to store data associated with a property
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.ValidationContext">
            <summary>
            Describes the context in which a validation is being performed.
            </summary>
            <remarks>
            This class contains information describing the instance on which
            validation is being performed.
            <para>
            It supports <see cref="T:System.IServiceProvider"/> so that custom validation
            code can acquire additional services to help it perform its validation.
            </para>
            <para>
            An <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.Items"/> property bag is available for additional contextual
            information about the validation.  Values stored in <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.Items"/>
            will be available to validation methods that use this <see cref="T:System.ComponentModel.DataAnnotations.ValidationContext"/>
            </para>
            </remarks>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationContext.#ctor(System.Object,System.IServiceProvider,System.Collections.Generic.IDictionary{System.Object,System.Object})">
            <summary>
            Construct a ValidationContext for a given object instance, an optional <paramref name="serviceProvider"/>, and an optional
            property bag of <paramref name="items"/>.
            </summary>
            <param name="instance">The object instance being validated.  It cannot be null.</param>
            <param name="serviceProvider">
            Optional <see cref="T:System.IServiceProvider"/> to use when <see cref="M:System.ComponentModel.DataAnnotations.ValidationContext.GetService(System.Type)"/> is called.
            <para>
            If the <paramref name="serviceProvider"/> specified implements <see cref="T:System.ComponentModel.Design.IServiceContainer"/>,
            then it will be used as the <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.ServiceContainer"/> but its services can still be retrieved
            through <see cref="M:System.ComponentModel.DataAnnotations.ValidationContext.GetService(System.Type)"/> as well.
            </para>
            </param>
            <param name="items">Optional set of key/value pairs to make available to consumers via <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.Items"/>.
            If null, an empty dictionary will be created.  If not null, the set of key/value pairs will be copied into a
            new dictionary, preventing consumers from modifying the original dictionary.
            </param>
            <exception cref="T:System.ArgumentNullException">When <paramref name="instance"/> is <c>null</c></exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationContext.GetDisplayName">
            <summary>
            Looks up the display name using the DisplayAttribute attached to the respective type or property.
            </summary>
            <returns>A display-friendly name of the member represented by the <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.MemberName"/>.</returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationContext.GetService(System.Type)">
            <summary>
            See <see cref="M:System.IServiceProvider.GetService(System.Type)"/>.
            When the <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.ServiceContainer"/> is in use, it will be used
            first to retrieve the requested service.  If the <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.ServiceContainer"/>
            is not being used or it cannot resolve the service, then the
            <see cref="T:System.IServiceProvider"/> provided to this <see cref="T:System.ComponentModel.DataAnnotations.ValidationContext"/>
            will be queried for the service type.
            </summary>
            <param name="serviceType">The type of the service needed.</param>
            <returns>An instance of that service or null if it is not available.</returns>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationContext.ObjectInstance">
            <summary>
            Gets the object instance being validated.  While it will not be null, the state of the instance is indeterminate
            as it might only be partially initialized during validation.
            <para>Consume this instance with caution!</para>
            </summary>
            <remarks>
            During validation, especially property-level validation, the object instance might be in an indeterminate state.
            For example, the property being validated, as well as other properties on the instance might not have been
            updated to their new values.
            </remarks>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationContext.ObjectType">
            <summary>
            Gets the type of the object being validated.  It will not be null.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationContext.DisplayName">
            <summary>
            Gets or sets the user-visible name of the type or property being validated.
            </summary>
            <value>If this name was not explicitly set, this property will consult an associated <see cref="T:System.ComponentModel.DataAnnotations.DisplayAttribute"/>
            to see if can use that instead.  Lacking that, it returns <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.MemberName"/>.  The <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.ObjectInstance"/>
            type name will be used if MemberName has not been set.
            </value>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationContext.MemberName">
            <summary>
            Gets or sets the name of the type or property being validated.
            </summary>
            <value>This name reflects the API name of the member being validated, not a localized name.  It should be set
            only for property or parameter contexts.</value>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationContext.Items">
            <summary>
            Gets the dictionary of key/value pairs associated with this context.
            </summary>
            <value>This property will never be null, but the dictionary may be empty.  Changes made
            to items in this dictionary will never affect the original dictionary specified in the constructor.</value>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationContext.ServiceContainer">
            <summary>
            A <see cref="T:System.ComponentModel.Design.IServiceContainer"/> that can be used for adding,
            removing, and getting services during validation.  <see cref="M:System.ComponentModel.DataAnnotations.ValidationContext.GetService(System.Type)"/>
            will query into this container as well as the <see cref="T:System.IServiceProvider"/>
            specified in the constructor.
            </summary>
            <remarks>
            If the <see cref="T:System.IServiceProvider"/> specified to the constructor implements
            <see cref="T:System.ComponentModel.Design.IServiceContainer"/>, then it will be used as the
            <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.ServiceContainer"/>, otherwise an empty container will be initialized.
            </remarks>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.ValidationContext.ValidationContextServiceContainer">
            <summary>
            Private implementation of <see cref="T:System.ComponentModel.Design.IServiceContainer"/> to act
            as a default service container on <see cref="T:System.ComponentModel.DataAnnotations.ValidationContext"/>.
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationContext.ValidationContextServiceContainer.#ctor">
            <summary>
            Constructs a new service container that does not have a parent container
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationContext.ValidationContextServiceContainer.#ctor(System.ComponentModel.Design.IServiceContainer)">
            <summary>
            Contstructs a new service container that has a parent container, making this container
            a wrapper around the parent container.  Calls to <c>AddService</c> and <c>RemoveService</c>
            will promote to the parent container by default, unless <paramref name="promote"/> is
            specified as <c>false</c> on those calls.
            </summary>
            <param name="parentContainer">The parent container to wrap into this container.</param>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.ValidationException">
            <summary>
            Exception used for validation using <see cref="P:System.ComponentModel.DataAnnotations.ValidationException.ValidationAttribute"/>.
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationException.#ctor(System.ComponentModel.DataAnnotations.ValidationResult,System.ComponentModel.DataAnnotations.ValidationAttribute,System.Object)">
            <summary>
            Constructor that accepts a structured <see cref="P:System.ComponentModel.DataAnnotations.ValidationException.ValidationResult"/> describing the problem.
            </summary>
            <param name="validationResult">The value describing the validation error</param>
            <param name="validatingAttribute">The attribute that triggered this exception</param>
            <param name="value">The value that caused the validating attribute to trigger the exception</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationException.#ctor(System.String,System.ComponentModel.DataAnnotations.ValidationAttribute,System.Object)">
            <summary>
            Constructor that accepts an error message, the failing attribute, and the invalid value.
            </summary>
            <param name="errorMessage">The localized error message</param>
            <param name="validatingAttribute">The attribute that triggered this exception</param>
            <param name="value">The value that caused the validating attribute to trigger the exception</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationException.#ctor">
            <summary>
            Default constructor.
            </summary>
            <remarks>The long form of this constructor is preferred because it gives better error reporting.</remarks>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationException.#ctor(System.String)">
            <summary>
            Constructor that accepts only a localized message
            </summary>
            <remarks>The long form of this constructor is preferred because it gives better error reporting.</remarks>
            <param name="message">The localized message</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationException.#ctor(System.String,System.Exception)">
            <summary>
            Constructor that accepts a localized message and an inner exception
            </summary>
            <remarks>The long form of this constructor is preferred because it gives better error reporting</remarks>
            <param name="message">The localized error message</param>
            <param name="innerException">inner exception</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Constructor that takes serialization info
            </summary>
            <param name="info"></param>
            <param name="context"></param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            ISerializable implementation
            </summary>
            <param name="info"></param>
            <param name="context"></param>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationException.ValidationAttribute">
            <summary>
            Gets the <see>ValidationAttribute</see> instance that triggered this exception.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationException.ValidationResult">
            <summary>
            Gets the <see cref="P:System.ComponentModel.DataAnnotations.ValidationException.ValidationResult"/> instance that describes the validation error.
            </summary>
            <value>
            This property will never be null.
            </value>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationException.Value">
            <summary>
            Gets the value that caused the validating attribute to trigger the exception
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.ValidationResult">
            <summary>
            Container class for the results of a validation request.
            <para>
            Use the static <see cref="F:System.ComponentModel.DataAnnotations.ValidationResult.Success"/> to represent successful validation.
            </para>
            </summary>
            <seealso cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.GetValidationResult(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)"/>
        </member>
        <member name="F:System.ComponentModel.DataAnnotations.ValidationResult.Success">
            <summary>
            Gets a <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/> that indicates Success.
            </summary>
            <remarks>
            The <c>null</c> value is used to indicate success.  Consumers of <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/>s
            should compare the values to <see cref="F:System.ComponentModel.DataAnnotations.ValidationResult.Success"/> rather than checking for null.
            </remarks>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationResult.#ctor(System.String)">
            <summary>
            Constructor that accepts an error message.  This error message would override any error message
            provided on the <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>.
            </summary>
            <param name="errorMessage">The user-visible error message.  If null, <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.GetValidationResult(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)"/>
            will use <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.FormatErrorMessage(System.String)"/> for its error message.</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationResult.#ctor(System.String,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Constructor that accepts an error message as well as a list of member names involved in the validation.
            This error message would override any error message provided on the <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>.
            </summary>
            <param name="errorMessage">The user-visible error message.  If null, <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.GetValidationResult(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)"/> 
            will use <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.FormatErrorMessage(System.String)"/> for its error message.</param>
            <param name="memberNames">The list of member names affected by this result.  If empty,
            <see cref="M:System.ComponentModel.DataAnnotations.ValidationAttribute.GetValidationResult(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)"/> will construct this list from its <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.MemberName"/>.  
            This list of member names is meant to be used by presentation layers to indicate which fields are in error.</param>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.ValidationResult.#ctor(System.ComponentModel.DataAnnotations.ValidationResult)">
            <summary>
            Constructor that creates a copy of an existing ValidationResult.
            </summary>
            <param name="validationResult">The validation result.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="validationResult"/> is null.</exception>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationResult.MemberNames">
            <summary>
            Gets the collection of member names affected by this result.  The collection may be empty but will never be null.
            </summary>
        </member>
        <member name="P:System.ComponentModel.DataAnnotations.ValidationResult.ErrorMessage">
            <summary>
            Gets the error message for this result.  It may be null.
            </summary>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.Validator">
            <summary>
            Helper class to validate objects, properties and other values using their associated <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>
            custom attributes.
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.TryValidateProperty(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.Collections.Generic.ICollection{System.ComponentModel.DataAnnotations.ValidationResult})">
            <summary>
            Tests whether the given property value is valid.
            </summary>
            <remarks>
            This method will test each <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/> associated with the property
            identified by <paramref name="validationContext"/>.  If <paramref name="validationResults"/> is non-null,
            this method will add a <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/> to it for each validation failure.
            <para>
            If there is a <see cref="T:System.ComponentModel.DataAnnotations.RequiredAttribute"/> found on the property, it will be evaluated before all other
            validation attributes.  If the required validator fails then validation will abort, adding that single
            failure into the <paramref name="validationResults"/> when applicable, returning a value of <c>false</c>.
            </para>
            <para>
            If <paramref name="validationResults"/> is null and there isn't a <see cref="T:System.ComponentModel.DataAnnotations.RequiredAttribute"/> failure,
            then all validators will be evaluated.
            </para>
            </remarks>
            <param name="value">The value to test.</param>
            <param name="validationContext">Describes the property member to validate and provides services and context for the validators.</param>
            <param name="validationResults">Optional collection to receive <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/>s for the failures.</param>
            <returns><c>true</c> if the value is valid, <c>false</c> if any validation errors are encountered.</returns>
            <exception cref="T:System.ArgumentException">
            When the <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.MemberName"/> of <paramref name="validationContext"/> is not a valid property.
            </exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.TryValidateObject(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.Collections.Generic.ICollection{System.ComponentModel.DataAnnotations.ValidationResult})">
            <summary>
            Tests whether the given object instance is valid.
            </summary>
            <remarks>
            This method evaluates all <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>s attached to the object instance's type.  It also
            checks to ensure all properties marked with <see cref="T:System.ComponentModel.DataAnnotations.RequiredAttribute"/> are set.  It does not validate the
            property values of the object.
            <para>
            If <paramref name="validationResults"/> is null, then execution will abort upon the first validation
            failure.  If <paramref name="validationResults"/> is non-null, then all validation attributes will be
            evaluated.
            </para>
            </remarks>
            <param name="instance">The object instance to test.  It cannot be <c>null</c>.</param>
            <param name="validationContext">Describes the object to validate and provides services and context for the validators.</param>
            <param name="validationResults">Optional collection to receive <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/>s for the failures.</param>
            <returns><c>true</c> if the object is valid, <c>false</c> if any validation errors are encountered.</returns>
            <exception cref="T:System.ArgumentNullException">When <paramref name="instance"/> is null.</exception>
            <exception cref="T:System.ArgumentException">When <paramref name="instance"/> doesn't match the
            <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.ObjectInstance"/>on <paramref name="validationContext"/>.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.TryValidateObject(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.Collections.Generic.ICollection{System.ComponentModel.DataAnnotations.ValidationResult},System.Boolean)">
            <summary>
            Tests whether the given object instance is valid.
            </summary>
            <remarks>
            This method evaluates all <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>s attached to the object instance's type.  It also
            checks to ensure all properties marked with <see cref="T:System.ComponentModel.DataAnnotations.RequiredAttribute"/> are set.  If <paramref name="validateAllProperties"/>
            is <c>true</c>, this method will also evaluate the <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>s for all the immediate properties
            of this object.  This process is not recursive.
            <para>
            If <paramref name="validationResults"/> is null, then execution will abort upon the first validation
            failure.  If <paramref name="validationResults"/> is non-null, then all validation attributes will be
            evaluated.
            </para>
            <para>
            For any given property, if it has a <see cref="T:System.ComponentModel.DataAnnotations.RequiredAttribute"/> that fails validation, no other validators
            will be evaluated for that property.
            </para>
            </remarks>
            <param name="instance">The object instance to test.  It cannot be null.</param>
            <param name="validationContext">Describes the object to validate and provides services and context for the validators.</param>
            <param name="validationResults">Optional collection to receive <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/>s for the failures.</param>
            <param name="validateAllProperties">If <c>true</c>, also evaluates all properties of the object (this process is not
            recursive over properties of the properties).</param>
            <returns><c>true</c> if the object is valid, <c>false</c> if any validation errors are encountered.</returns>
            <exception cref="T:System.ArgumentNullException">When <paramref name="instance"/> is null.</exception>
            <exception cref="T:System.ArgumentException">When <paramref name="instance"/> doesn't match the
            <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.ObjectInstance"/>on <paramref name="validationContext"/>.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.TryValidateValue(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.Collections.Generic.ICollection{System.ComponentModel.DataAnnotations.ValidationResult},System.Collections.Generic.IEnumerable{System.ComponentModel.DataAnnotations.ValidationAttribute})">
            <summary>
            Tests whether the given value is valid against a specified list of <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>s.
            </summary>
            <remarks>
            This method will test each <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>s specified .  If
            <paramref name="validationResults"/> is non-null, this method will add a <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/>
            to it for each validation failure.
            <para>
            If there is a <see cref="T:System.ComponentModel.DataAnnotations.RequiredAttribute"/> within the <paramref name="validationAttributes"/>, it will
            be evaluated before all other validation attributes.  If the required validator fails then validation will
            abort, adding that single failure into the <paramref name="validationResults"/> when applicable, returning a
            value of <c>false</c>.
            </para>
            <para>
            If <paramref name="validationResults"/> is null and there isn't a <see cref="T:System.ComponentModel.DataAnnotations.RequiredAttribute"/> failure,
            then all validators will be evaluated.
            </para>
            </remarks>
            <param name="value">The value to test.  It cannot be null.</param>
            <param name="validationContext">Describes the object being validated and provides services and context for the validators.</param>
            <param name="validationResults">Optional collection to receive <see cref="T:System.ComponentModel.DataAnnotations.ValidationResult"/>s for the failures.</param>
            <param name="validationAttributes">The list of <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>s to validate this <paramref name="value"/> against.</param>
            <returns><c>true</c> if the object is valid, <c>false</c> if any validation errors are encountered.</returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.ValidateProperty(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)">
            <summary>
            Throws a <see cref="T:System.ComponentModel.DataAnnotations.ValidationException"/> if the given property <paramref name="value"/> is not valid.
            </summary>
            <param name="value">The value to test.</param>
            <param name="validationContext">Describes the object being validated and provides services and context for the validators.  It cannot be <c>null</c>.</param>
            <exception cref="T:System.ArgumentNullException">When <paramref name="validationContext"/> is null.</exception>
            <exception cref="T:System.ComponentModel.DataAnnotations.ValidationException">When <paramref name="value"/> is invalid for this property.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.ValidateObject(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)">
            <summary>
            Throws a <see cref="T:System.ComponentModel.DataAnnotations.ValidationException"/> if the given <paramref name="instance"/> is not valid.
            </summary>
            <remarks>
            This method evaluates all <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>s attached to the object's type.
            </remarks>
            <param name="instance">The object instance to test.  It cannot be null.</param>
            <param name="validationContext">Describes the object being validated and provides services and context for the validators.  It cannot be <c>null</c>.</param>
            <exception cref="T:System.ArgumentNullException">When <paramref name="instance"/> is null.</exception>
            <exception cref="T:System.ArgumentNullException">When <paramref name="validationContext"/> is null.</exception>
            <exception cref="T:System.ArgumentException">When <paramref name="instance"/> doesn't match the
            <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.ObjectInstance"/> on <paramref name="validationContext"/>.</exception>
            <exception cref="T:System.ComponentModel.DataAnnotations.ValidationException">When <paramref name="instance"/> is found to be invalid.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.ValidateObject(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.Boolean)">
            <summary>
            Throws a <see cref="T:System.ComponentModel.DataAnnotations.ValidationException"/> if the given object instance is not valid.
            </summary>
            <remarks>
            This method evaluates all <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>s attached to the object's type.
            If <paramref name="validateAllProperties"/> is <c>true</c> it also validates all the object's properties.
            </remarks>
            <param name="instance">The object instance to test.  It cannot be null.</param>
            <param name="validationContext">Describes the object being validated and provides services and context for the validators.  It cannot be <c>null</c>.</param>
            <param name="validateAllProperties">If <c>true</c>, also validates all the <paramref name="instance"/>'s properties.</param>
            <exception cref="T:System.ArgumentNullException">When <paramref name="instance"/> is null.</exception>
            <exception cref="T:System.ArgumentNullException">When <paramref name="validationContext"/> is null.</exception>
            <exception cref="T:System.ArgumentException">When <paramref name="instance"/> doesn't match the
            <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.ObjectInstance"/> on <paramref name="validationContext"/>.</exception>
            <exception cref="T:System.ComponentModel.DataAnnotations.ValidationException">When <paramref name="instance"/> is found to be invalid.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.ValidateValue(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.Collections.Generic.IEnumerable{System.ComponentModel.DataAnnotations.ValidationAttribute})">
            <summary>
            Throw a <see cref="T:System.ComponentModel.DataAnnotations.ValidationException"/> if the given value is not valid for the <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>s.
            </summary>
            <remarks>
            This method evaluates the <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>s supplied until a validation error occurs,
            at which time a <see cref="T:System.ComponentModel.DataAnnotations.ValidationException"/> is thrown.
            <para>
            A <see cref="T:System.ComponentModel.DataAnnotations.RequiredAttribute"/> within the <paramref name="validationAttributes"/> will always be evaluated first.
            </para>
            </remarks>
            <param name="value">The value to test.  It cannot be null.</param>
            <param name="validationContext">Describes the object being tested.</param>
            <param name="validationAttributes">The list of <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/>s to validate against this instance.</param>
            <exception cref="T:System.ArgumentNullException">When <paramref name="validationContext"/> is null.</exception>
            <exception cref="T:System.ComponentModel.DataAnnotations.ValidationException">When <paramref name="value"/> is found to be invalid.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.CreateValidationContext(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)">
            <summary>
            Creates a new <see cref="T:System.ComponentModel.DataAnnotations.ValidationContext"/> to use to validate the type or a member of
            the given object instance.
            </summary>
            <param name="instance">The object instance to use for the context.</param>
            <param name="validationContext">An parent validation context that supplies an <see cref="T:System.IServiceProvider"/>
            and <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.Items"/>.</param>
            <returns>A new <see cref="T:System.ComponentModel.DataAnnotations.ValidationContext"/> for the <paramref name="instance"/> provided.</returns>
            <exception cref="T:System.ArgumentNullException">When <paramref name="validationContext"/> is null.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.CanBeAssigned(System.Type,System.Object)">
            <summary>
            Determine whether the given value can legally be assigned into the specified type.
            </summary>
            <param name="destinationType">The destination <see cref="T:System.Type"/> for the value.</param>
            <param name="value">The value to test to see if it can be assigned as the Type indicated by <paramref name="destinationType"/>.</param>
            <returns><c>true</c> if the assignment is legal.</returns>
            <exception cref="T:System.ArgumentNullException">When <paramref name="destinationType"/> is null.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.EnsureValidPropertyType(System.String,System.Type,System.Object)">
            <summary>
            Determines whether the given value can legally be assigned to the given property.
            </summary>
            <param name="propertyName">The name of the property.</param>
            <param name="propertyType">The type of the property.</param>
            <param name="value">The value.  Null is permitted only if the property will accept it.</param>
            <exception cref="T:System.ArgumentException"> is thrown if <paramref name="value"/> is the wrong type for this property.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.GetObjectValidationErrors(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.Boolean,System.Boolean)">
            <summary>
            Internal iterator to enumerate all validation errors for the given object instance.
            </summary>
            <param name="instance">Object instance to test.</param>
            <param name="validationContext">Describes the object type.</param>
            <param name="validateAllProperties">if <c>true</c> also validates all properties.</param>
            <param name="breakOnFirstError">Whether to break on the first error or validate everything.</param>
            <returns>A collection of validation errors that result from validating the <paramref name="instance"/> with
            the given <paramref name="validationContext"/>.</returns>
            <exception cref="T:System.ArgumentNullException">When <paramref name="instance"/> is null.</exception>
            <exception cref="T:System.ArgumentNullException">When <paramref name="validationContext"/> is null.</exception>
            <exception cref="T:System.ArgumentException">When <paramref name="instance"/> doesn't match the
            <see cref="P:System.ComponentModel.DataAnnotations.ValidationContext.ObjectInstance"/> on <paramref name="validationContext"/>.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.GetObjectPropertyValidationErrors(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.Boolean,System.Boolean)">
            <summary>
            Internal iterator to enumerate all the validation errors for all properties of the given object instance.
            </summary>
            <param name="instance">Object instance to test.</param>
            <param name="validationContext">Describes the object type.</param>
            <param name="validateAllProperties">If <c>true</c>, evaluates all the properties, otherwise just checks that
            ones marked with <see cref="T:System.ComponentModel.DataAnnotations.RequiredAttribute"/> are not null.</param>
            <param name="breakOnFirstError">Whether to break on the first error or validate everything.</param>
            <returns>A list of <see cref="T:System.ComponentModel.DataAnnotations.Validator.ValidationError"/> instances.</returns>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.GetPropertyValues(System.Object,System.ComponentModel.DataAnnotations.ValidationContext)">
            <summary>
            Retrieves the property values for the given instance.
            </summary>
            <param name="instance">Instance from which to fetch the properties.</param>
            <param name="validationContext">Describes the entity being validated.</param>
            <returns>A set of key value pairs, where the key is a validation context for the property and the value is its current
            value.</returns>
            <remarks>Ignores indexed properties.</remarks>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.GetValidationErrors(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.Collections.Generic.IEnumerable{System.ComponentModel.DataAnnotations.ValidationAttribute},System.Boolean)">
            <summary>
            Internal iterator to enumerate all validation errors for an value.
            </summary>
            <remarks>
            If a <see cref="T:System.ComponentModel.DataAnnotations.RequiredAttribute"/> is found, it will be evaluated first, and if that fails,
            validation will abort, regardless of the <paramref name="breakOnFirstError"/> parameter value.
            </remarks>
            <param name="value">The value to pass to the validation attributes.</param>
            <param name="validationContext">Describes the type/member being evaluated.</param>
            <param name="attributes">The validation attributes to evaluate.</param>
            <param name="breakOnFirstError">Whether or not to break on the first validation failure.  A
            <see cref="T:System.ComponentModel.DataAnnotations.RequiredAttribute"/> failure will always abort with that sole failure.</param>
            <returns>The collection of validation errors.</returns>
            <exception cref="T:System.ArgumentNullException">When <paramref name="validationContext"/> is null.</exception>
        </member>
        <member name="M:System.ComponentModel.DataAnnotations.Validator.TryValidate(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.ComponentModel.DataAnnotations.ValidationAttribute,System.ComponentModel.DataAnnotations.Validator.ValidationError@)">
            <summary>
            Tests whether a value is valid against a single <see cref="T:System.ComponentModel.DataAnnotations.ValidationAttribute"/> using the <see cref="T:System.ComponentModel.DataAnnotations.ValidationContext"/>.
            </summary>
            <param name="value">The value to be tested for validity.</param>
            <param name="validationContext">Describes the property member to validate.</param>
            <param name="attribute">The validation attribute to test.</param>
            <param name="validationError">The validation error that occurs during validation.  Will be <c>null</c> when the return value is <c>true</c>.</param>
            <returns><c>true</c> if the value is valid.</returns>
            <exception cref="T:System.ArgumentNullException">When <paramref name="validationContext"/> is null.</exception>
        </member>
        <member name="T:System.ComponentModel.DataAnnotations.Validator.ValidationError">
            <summary>
            Private helper class to encapsulate a ValidationAttribute with the failed value and the user-visible
            target name against which it was validated.
            </summary>
        </member>
    </members>
</doc>
